1. Field of the Invention
The invention relates to a rendering processing apparatus, a rendering processing method, a computer-readable memory medium, and a program, in which output information that is inputted is analyzed, a bit map image of each page is rendered in a band memory, and the rendered bit map image is outputted to a print mechanism.
2. Related Background Art
Hitherto, in such a kind of printing apparatus, a memory in which a bit map image is rendered has been defined in accordance with a raster scanning direction of the printing apparatus.
FIG. 8 is a diagram for explaining a print data processing state in the conventional printing apparatus. A portion (a) corresponds to a page processing phase, a portion (b) corresponds to a rendering processing phase, and a portion (c) corresponds to a print processing phase. Reference numerals 201 to 210 denote processing steps, respectively.
In FIG. 8, the data processes in steps 201, 204, 205, 206, 207, and 208 correspond to the case where a raster direction upon editing in an application program on a host computer (not shown) and a raster direction of a printer (not shown) are different, and the data processes in steps 202, 209, 211, 210, and 208 correspond to the case where the raster direction upon editing in the application program on the host computer and the raster direction of the printer are the same and properly switched page by page. Print data inputted from the host computer is divided into bands every page data in step 203. When the raster direction upon editing and that of the printer are different, the processing routine advances to step 201. In step 204, the band is divided in accordance with a printing direction upon printing. At this time, it is necessary to rotate each object data in order to render and a rotating process by software is executed in step 205.
On the basis of the rotated object data, a rendering object and a display list are formed on a band unit basis in step 206. A bit map image is rendered on a band unit basis on the basis of them in step 207. Rendered band data is printed in step 208.
If the raster direction upon editing and that of the printer are the same, the band is similarly divided in accordance with the printing direction upon printing in step 209. A display list is formed on the basis of the original object data in step 211. On the basis of it, the rendering is performed on a band unit basis in step 210. The print data is printed in step 208.
As described above, in the conventional apparatus, the band division upon printing is executed in a paper conveying direction of the printer and page edit such as rotation or the like is preliminarily executed so that the scanning direction upon band printing also becomes constant, its result is rendered, and a printing process is executed.
FIG. 9 is a diagram showing a relation between a band memory and a raster scan in the conventional printer.
In FIG. 9, reference numeral 301 denotes a band memory, that is, an image memory of one band; 302 one word in the memory; 303 an address array of each word; 304 a data array in one word; and 305 a scan line of a print engine.
As shown in FIG. 9, in the band memory, like a data array 304, memory words as image data defined in a bit map format are arranged in the direction shown by the address array 303, that is, in increasing order of the addresses along the scan line 305 of the print engine, a line returning process is executed at a right edge of an image, and the process is subsequently repeated in a manner similar to the above. An image which is rendered is constructed so that it is rendered as bit map data in a position where it is printed as shown in, for example, “A” in FIG. 9.
However, there is a problem such that when the raster scanning direction and that of the printer are different as in the conventional apparatus as shown in FIG. 8, the rotating process occurs certainly in step 205, so that a rendering speed becomes very low.
Specifically speaking, in the decrease in rendering speed, a relative value is approximately in a range from 1/100 to 1/30 of that in the case where the rotating process is not executed. Such a marked decrease in rendering speed is caused because the construction of the band memory and a format of the data which is outputted by the host computer. Causes of such a speed reduction will be explained hereinbelow with reference to FIG. 10.
FIG. 10 is a conceptual diagram for explaining an example of a print data process in the conventional printing apparatus.
In FIG. 10, reference numeral 401 denotes image data formed by an application program of a host computer such as a PC or the like. Reference numeral 402 denotes print data which is outputted on the basis of the image data 401. In accordance with the application program, an image as shown in the diagram is divided into image data or lines every scan line and the data is outputted. In such a case, a printer driver or the printer which received the data executes rendering or printing on the basis of the received data.
If the scan line of the PC and that of the printer are different, for example, in the case where an original of the A4 landscape size on the PC is printed by the printer which conveys paper in the A4 portrait direction, all of the print data 402 transmitted from the PC is rotated on a memory in the printer, print data 403 is formed, and rendering is executed in the band memory on the basis of it.
At this time, since the print data 402 is rotated, it becomes a large amount of vertical line data and the vertical line data is sequentially rendered one by one.
Reference numeral 404 denotes a writing state of one vertical line into the band memory. “1” is written only by one dot by one memory access.
In the general construction of the band memory as shown in FIG. 9, the addresses of each word arranged vertically in the writing state 404 are not continuously accessed and a burst access is impossible.
A writing state 406 shows an example in the case where the scan line of the PC and that of the printer are the same, and an image transmitted from the PC becomes a set of lateral lines. In this case, data 407 of one word in the memory can be simultaneously rendered by one memory access with respect to, for example, 32 bits.
Further, in the case of the writing state 406, since the addresses to be rendered are continuous, the burst access is possible.
As mentioned above, there is a problem such that when the scanning direction of the PC and that of the printer are different, the rendering speed decreases markedly as compared with that in the case where the scan lines are the same as shown in FIG. 8.